package com.pe.pgn.clubpgn.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.pe.pgn.clubpgn.dao.IngresoArticuloDao;
import com.pe.pgn.clubpgn.domain.ClpbAlmacen;
import com.pe.pgn.clubpgn.domain.beans.BNAlmacen;
import com.pe.pgn.clubpgn.domain.beans.BNArticulo;
import com.pe.pgn.clubpgn.domain.beans.BNDocumentoMovArticulo;
import com.pe.pgn.clubpgn.service.IngresoArticuloService;

/**
 * @author Frank
 */

@Service("ingresoArticuloService")
public class IngresoArticuloServiceImpl implements IngresoArticuloService {

	@Autowired
	private IngresoArticuloDao ingresoArticuloDao;

	public List<ClpbAlmacen> obtenerTodosAlmacenConStock() {
		return ingresoArticuloDao.obtenerTodosAlmacenConStock();
	}

	public List<BNDocumentoMovArticulo> obtenerTodosArticulos() {
		return ingresoArticuloDao.obtenerTodosArticulos();
	}

	public List<BNDocumentoMovArticulo> busquedaTodosArticulos(String coAlmacen, String finDocumento, 
			String deDocumento, String deProveedor, String inicioDocumento) {
		return ingresoArticuloDao.busquedaTodosArticulos(coAlmacen, finDocumento, 
		deDocumento, deProveedor, inicioDocumento);
	}

	public BNDocumentoMovArticulo obtenerArticuloIngresado(Long id) {
		return ingresoArticuloDao.obtenerArticuloIngresado(id);
	}

	public List<BNArticulo> obtenerArticulosConStock() {
		return ingresoArticuloDao.obtenerArticulosConStock();
	}

	public List<BNArticulo> buscarArticulosConStock(String coCategoria,
			String deArticulo, String coCodigoArticulo, String stManejaStock,
			String stManejaSerie) {
		return ingresoArticuloDao.buscarArticulosConStock(coCategoria,
		deArticulo, coCodigoArticulo, stManejaStock, stManejaSerie);
	}

	public BNArticulo obtenerDatosArticuloPorCodigo(String coCodigoArticulo) {
		return ingresoArticuloDao.obtenerDatosArticuloPorCodigo(coCodigoArticulo);
	}

	@SuppressWarnings("rawtypes")
	public Map guardarDocumentoIngresoArticulo(BNDocumentoMovArticulo bnArticulo) {
		return ingresoArticuloDao.guardarDocumentoIngresoArticulo(bnArticulo);
	}

	public BNAlmacen obtenerDatosAlmacenPorCodigo(String coAlmacen) {
		return ingresoArticuloDao.obtenerDatosAlmacenPorCodigo(coAlmacen);
	}
}
